home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Corel: All-Movie Guide 2
/
Corel All-Movie Guide 2.iso
/
pc
/
install
/
movie.ms_
/
movie.ms
Wrap
Text File
|
1996-07-26
|
25KB
|
848 lines
''*************************************************************************
''* Corel All-Movie Guide 2 Setup Script.
''*************************************************************************
'' rev. June 20, 1996 Stephg
''---------------------------------------------------------------------------------------
'' Includes
''---------------------------------------------------------------------------------------
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'msshared.inc'
''---------------------------------------------------------------------------------------
'' Defines
''---------------------------------------------------------------------------------------
CONST sREGKEY = "All-Movie Guide 2"
CONST sTITLE = "All-Movie Guide 2"
CONST sDESTDIR = "C:\CDHOME\ALLMOVIE" ''Default destination directory
CONST sINFFILE = "MOVIE.INF" ''The .INF file
CONST sINIFILE = "MOVIE.INI" ''The .INI file
CONST sLOGFILE = "SETUP.LOG" ''Setup log
CONST sMGGROUP = "Corel CD Home" ''The program manager group
CONST sCUIDLL = "mscuistf.dll" ''Custom user interface dll
CONST cLOGO = 1 ''Bitmap ID
CONST dSEARCHING = 100 ''Dialog ID's, as in "dialogs.h"
CONST dWELCOME = 101
CONST dEXPRESS = 102
CONST dDESTDIR = 103
CONST dBADDESTDIR = 104
CONST dTOOBIG = 105
CONST dPLATFORM = 106
CONST dMETHOD = 107
CONST dREGISTER = 108
CONST dGROUP = 109
CONST dASKREADME = 110
CONST dREADME = 111
CONST dASKQUIT = 190
CONST dEXITRESTART = 196
CONST dEXITSUCCESS = 197
CONST dEXITQUIT = 198
CONST dEXITFAILURE = 199
CONST sMESSAGE = "Setup Message"
CONST sCORRUPTED = "Setup sources were corrupted.\nCall Corel technical support."
CONST sCANTRESTART = "Setup program cannot restart Windows. Please restart Windows manually."
CONST sWINVER = "Corel All-Movie Guide 2 requires Windows version 3.1 or higher"
CONST s386 = "Corel All-Movie Guide 2 requires 80386 or better processor"
CONST cMBSTOP = MB_OK+MB_TASKMODAL+MB_ICONHAND
CONST sCOSTS = "Costs"
CONST sEXTRACOSTS = "ExtraCosts"
''**** QTW ****
''CONST sQTWVERSION = "2.0.1.41" ''redistributed QTW version
''---------------------------------------------------------------------------------------
'' Variables
''---------------------------------------------------------------------------------------
GLOBAL PLATFORM$ ''"Win16" | "Win32" - possibility, still default to 16
GLOBAL DESTDIR$ ''Destination directory
GLOBAL METHOD$ ''"MIN" | "STND" | "MAX"
GLOBAL EXPRESS% ''TRUE if user has chosen the express setup, FALSE if custom
GLOBAL SrcDir$ ''source directory (used through Install)
GLOBAL SPACEREQ& ''required additional space on hard disk
GLOBAL MGGROUP$ ''progman group
''GLOBAL InstallQTW% ''0-don't, 1-do, 2-do!
''---------------------------------------------------------------------------------------
'' Declares
''---------------------------------------------------------------------------------------
DECLARE SUB Install ''Installation process
DECLARE FUNCTION CheckDestDir AS INTEGER ''Check validity of DESTDIR$
DECLARE FUNCTION CheckSpace AS INTEGER ''and available space
DECLARE FUNCTION VerFind LIB "mscuistf.dll" (szFileName$) AS INTEGER
''DECLARE FUNCTION IsWin32 LIB "mscuistf.dll" AS INTEGER
DECLARE FUNCTION PlatformString() AS STRING ''Full name of PLATFORM$
DECLARE FUNCTION MethodString() AS STRING ''Full name of METHOD$
DECLARE FUNCTION MakePath(szDir$, szFile$) AS STRING
DECLARE FUNCTION DriveInt(Drive$) AS INTEGER ''letter->integer
DECLARE FUNCTION WinVer AS INTEGER
DECLARE SUB UpdateCopyList
DECLARE FUNCTION VerSearch(szFile$,szVersion$) AS STRING
DECLARE SUB VerKeyInstall(szSection$,szKey$)
DECLARE SUB KeyInstall(szSection$,szKey$)
DECLARE FUNCTION WritePrivateProfileString LIB "krnl386.exe" (szSect$,szEntry$,szString$,szINI$) AS INTEGER
''---------------------------------------------------------------------------------------
'' Make Setup full screen:
''---------------------------------------------------------------------------------------
CONST WS_VISIBLE = &H10000000
CONST WS_BORDER = &H00800000
CONST WSCLIPCHILDREN = &H02000000
CONST GWL_STYLE = -16
CONST SW_SHOWMAXIMIZED = 3
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
i% = SetWindowLong(HwndFrame(),GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
i% = ShowWindow(HwndFrame(),SW_SHOWMAXIMIZED)
''---------------------------------------------------------------------------------------
'' Init
''---------------------------------------------------------------------------------------
SetBitmap sCUIDLL,cLOGO
SetTitle sTITLE+" All-Movie Guide 2 Setup"
''---------------------------------------------------------------------------------------
'' Check the Windows version & processor
''---------------------------------------------------------------------------------------
'' IF WinVer()<310 THEN
'' i% = DoMsgBox(sWINVER,sMESSAGE,cMBSTOP)
'' ERROR STFQUIT
'' END IF
'' IF GetWinFlags() AND 2 THEN
'' i% = DoMsgBox(s386,sMESSAGE,cMBSTOP)
'' ERROR STFQUIT
'' END IF
''=========================================================================
'' Go !
''=========================================================================
''---------------------------------------------------------------------------------------
'' read the .INF file, srcdir
''
READINF:
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + sINFFILE
END IF
ReadInfFile szInf$
SrcDir$ = GetSymbolValue("STF_SRCDIR")
''---------------------------------------------------------------------------------------
'' Extra costs
''
FOR i%=1 TO 26 STEP 1
AddListItem sCOSTS,"0"
NEXT i%
FOR i%=1 TO 26 STEP 1
AddListItem sEXTRACOSTS,"0"
NEXT i%
''---------------------------------------------------------------------------------------
'' Search the QTW
''
'' cursor% = ShowWaitCursor()
'' OldPath$ = FindFileUsingFileOpen("qtim.dll")
'' RestoreCursor cursor%
'' IF OldPath$ <> "" THEN
'' IF 0>WCompareVersion(GetVersionOfFile(OldPath$),sQTWVERSION) THEN
'' InstallQTW% = 1 ''Install (older version found)
'' ELSE
'' InstallQTW% = 0 ''Don't install
'' END IF
'' ELSE
'' InstallQTW% = 2 ''Install unconditionally
'' END IF
''---------------------------------------------------------------------------------------
'' Welcome dialog
''
WELCOME:
sz$ = UIStartDlg(sCUIDLL,dWELCOME,"DPModal",0,"")
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
''---------------------------------------------------------------------------------------
'' Choose express/custom/QTW setup
''
CUST_EXPRESS0:
METHOD$ = "STND" ''copy .exe by default
DESTDIR$ = GetIniKeyString("WIN.INI",sREGKEY,"Installed") ''default dir
IF ""=DESTDIR$ THEN
DESTDIR$ = sDESTDIR
END IF
'' IF IsWin16 THEN
'' PLATFORM$ = "Win32"
'' ELSE
PLATFORM$ = "Win16"
'' END IF
MGGROUP$ = sMGGROUP
CUST_EXPRESS:
SetSymbolValue "TEXT1", DESTDIR$
SetSymbolValue "TEXT2", PlatformString()
SetSymbolValue "TEXT3", MethodString()
CUST_EXPRESS1:
'SetSymbolValue "CHECK1",STR$(InstallQTW%)
sz$ = UIStartDlg(sCUIDLL, dEXPRESS, "DPText123", 0, "")
'InstallQTW% = VAL(GetSymbolValue("CHECK1"))
IF sz$ = "YES" THEN ''Express button
UIPop 1
EXPRESS% = 1
GOTO METHOD0
ELSEIF sz$ = "NO" THEN ''Custom button
UIPop 1
EXPRESS% = 0
GOTO METHOD0 ''WAS METHOD1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOME
ELSE
GOSUB ASKQUIT
GOTO CUST_EXPRESS1
END IF
''---------------------------------------------------------------------------------------
'' Get Target platform
''
PLATFORM0:
IF EXPRESS% THEN
GOTO METHOD0
END IF
''IF 0=IsWin32() THEN ''Detect the platform
'' GOTO METHOD0 ''no possibility to install 32b
''END IF
PLATFORM:
IF "Win16"=PLATFORM$ THEN
''SetSymbolValue "RADIO", "2"
''ELSE
SetSymbolValue "RADIO", "1"
END IF
PLATFORM1:
'sz$ = UIStartDlg(sCUIDLL, dPLATFORM, "DPRadio", 0, "")
IF "1"=GetSymbolValue("RADIO") THEN
''PLATFORM$ = "Win32"
''ELSE
PLATFORM$ = "Win16"
END IF
IF sz$ = "CONTINUE" THEN
'UIPop 1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO CUST_EXPRESS
ELSE
GOSUB ASKQUIT
GOTO PLATFORM1 ''PLATFORM1 (this is what I changed)
END IF
''---------------------------------------------------------------------------------------
'' Get installation method
''
METHOD0:
IF EXPRESS% THEN
GOTO DESTDIR0
END IF
METHOD:
IF METHOD$="MIN" THEN
SetSymbolValue "RADIO", "1"
ELSEIF METHOD$="MAX" THEN
SetSymbolValue "RADIO", "3"
ELSE
SetSymbolValue "RADIO", "2" ''default
END IF
METHOD1:
sz$ = UIStartDlg(sCUIDLL, dMETHOD, "DPRadio", 0, "")
IF "1"=GetSymbolValue("RADIO") THEN
METHOD$ = "MIN"
ELSEIF "3"=GetSymbolValue("RADIO") THEN
METHOD$ = "MAX"
ELSE
METHOD$ = "STND" ''default
END IF
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "BACK" THEN
UIPop 1
''IF 0=IsWin32() THEN
''GOTO CUST_EXPRESS
''ELSE
GOTO PLATFORM
''END IF
ELSE
GOSUB ASKQUIT
GOTO METHOD1
END IF
''---------------------------------------------------------------------------------------
'' Get destination directory
''
DESTDIR0:
UpdateCopyList
IF EXPRESS% THEN
IF CheckDestDir() THEN ''valid dir & enough space
IF CheckSpace() THEN
GOTO INSTALL0
END IF
END IF
END IF
DESTDIR:
SetSymbolValue "EDIT1", DESTDIR$
SetSymbolValue "TEXT2", STR$(SPACEREQ&/1024 + 1)+" KB"
DESTDIR1:
sz$ = UIStartDlg(sCUIDLL, dDESTDIR, "DPDestDir", 0, "")
DESTDIR$ = GetSymbolValue("EDIT1")
IF sz$ = "CONTINUE" THEN
IF 0=CheckDestDir() THEN
GOTO DESTDIR1
END IF
UpdateCopyList
UIPop 1
IF 0=CheckSpace() THEN
GOTO DESTDIR ''SPACEREQ& was reevaluated, goto DESTDIR
END IF
ELSEIF sz$ = "BACK" THEN
UIPop 1
if EXPRESS% THEN
GOTO CUST_EXPRESS0
ELSE
GOTO METHOD0
END IF
ELSE
GOSUB ASKQUIT
GOTO DESTDIR1
END IF
''---------------------------------------------------------------------------------------
'' Progman group
''
GROUP:
SetSymbolValue "EDIT1", MGGROUP$
GROUP1:
sz$ = UIStartDlg(sCUIDLL, dGROUP, "DPGroup", 0, "")
MGGROUP$ = GetSymbolValue("EDIT1")
IF sz$ <> "CONTINUE" THEN
GOSUB ASKQUIT
GOTO GROUP1
END IF
UIPop 1
''---------------------------------------------------------------------------------------
'' Proceed with install
''
INSTALL0:
Install
''---------------------------------------------------------------------------------------
'' Readme
''
README:
szReadme$ = MakePath(DESTDIR$,"README.TXT")
IF DoesFileExist(szReadme$,femRead) THEN
CreateProgmanItem MGGROUP$,"All-Movie 2 Readme",szReadme$,"",cmoAll
sz$ = UIStartDlg(sCUIDLL,dASKREADME,"DPModal",0,"")
UIPop 1
IF sz$ = "YES" THEN
SetSymbolValue "README",szReadme$
sz$ = UIStartDlg(sCUIDLL,dREADME,"DPReadme",0,"")
UIPop 1
END IF
END IF
''---------------------------------------------------------------------------------------
'' Register
''
REGISTER:
sz$ = UIStartDlg(sCUIDLL,dREGISTER,"DPModal",0,"")
UIPop 1
''---------------------------------------------------------------------------------------
'' Quit
''
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
IF RestartListEmpty() THEN
dlg% = dEXITSUCCESS
else
dlg% = dEXITRESTART
END IF
ELSEIF ERR = STFQUIT THEN
dlg% = dEXITQUIT
ELSE
dlg% = dEXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(sCUIDLL, dlg%, "DPModal", 0, "")
UIPop 1
IF dlg%=dEXITRESTART AND sz$="OK" THEN
IF 0=ExitExecRestart() THEN
i%=DoMsgBox(sCANTRESTART,sMESSAGE,cMBSTOP)
END IF
END IF
END
ERRQUIT:
i% = DoMsgBox(sCORRUPTED,sMESSAGE,cMBSTOP)
END
''*************************************************************************
''*Install: perform the installation operations
''*************************************************************************
SUB Install STATIC
CreateDir DESTDIR$, cmoVital
szStupid$ = MakePath(DESTDIR$, "VIDEO.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "PLOTS.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "AWARDS.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "NAMECS.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "TITLECS.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "MEDIA.DAT")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
szStupid$ = MakePath(DESTDIR$, "MOVIE.EXE")
IF DoesFileExist(szStupid$, femExists) THEN
RemoveFile szStupid$, cmoForce
END IF
OpenLogFile MakePath(DESTDIR$, sLOGFILE), 0
WriteToLogFile ""
WriteToLogFile "* " + sTITLE + " Setup Log:"
WriteToLogFile ""
WriteToLogFile ""
WriteToLogFile "* Destination directory: '" + DESTDIR$ + "' (may have been created)"
WriteToLogFile ""
WinDir$ = GetWindowsDir()
WinSysDir$ = GetWindowsSysDir()
WriteToLogFile "* Windows directory: '" + WinDir$ + "'"
WriteToLogFile "* Wnds.system directory: '" + WinSysDir$ + "'"
WriteToLogFile ""
WriteToLogFile "* Destination platform: " + PlatformString()
WriteToLogFile "* Chosen method: " + MethodString()
IF EXPRESS% THEN
WriteToLogFile "* Express installation"
ELSE
WriteToLogFile "* Custom installation"
END IF
SetRestartDir DESTDIR$
CopyFilesInCopyList
IniFile$ = MakePath(WinDir$, sINIFILE)
WriteToLogFile ""
WriteToLogFile "* .INI file: '" + IniFile$ + "'"
WriteToLogFile ""
CreateIniKeyValue IniFile$, "Settings", "InstallPath", DESTDIR$+"\" , cmoAll
CreateIniKeyValue IniFile$, "Settings", "DatabasePath", SrcDir$, cmoAll
CreateIniKeyValue "WIN.INI", sREGKEY, "Installed", DESTDIR$ , cmoAll
WriteToLogFile ""
WriteToLogFile "* Program manager group: '" + MGGROUP$ + "'"
WriteToLogFile ""
CreateProgmanGroup MGGROUP$, "", cmoNone
IF METHOD$="MIN" THEN
MovieDir$ = SrcDir$+"PROGRAM"
ELSE
MovieDir$ = DESTDIR$
END IF
IF PLATFORM$ = "Win16" THEN
MovieExe$ = "MOVIE.EXE"
''ELSE
'' MovieExe$ = "MOVIE32.EXE"
END IF
IF PLATFORM$ = "Win16" THEN
CreateProgmanItem MGGROUP$,sTITLE,MakePath(MovieDir$,MovieExe$),"",cmoAll
ELSE
CreateProgmanItem MGGROUP$,sTITLE,MakePath(MovieDir$,MovieExe$),"",cmoAll ''the same name
END IF
WriteToLogFile ""
WriteToLogFile "* "+sTITLE+" Setup finished."
WriteToLogFile ""
CloseLogFile
''*** QTW ***
''IF InstallQTW% THEN
''X CreateIniKeyValue "WIN.INI", "Extensions", "mov", MakePath(DEST2$,"player.exe") + " ^.mov", cmoOverwrite
''X CreateIniKeyValue "WIN.INI", "Extensions", "pic", MakePath(DEST2$,"viewer.exe") + " ^.pic", cmoOverwrite
''CreateIniKeyValue "WIN.INI", "MCI Extensions", "mov", "QTWVideo", cmoOverwrite
''CreateIniKeyValue "WIN.INI", "MCI Extensions", "pic", "QTWVideo", cmoOverwrite
''CreateIniKeyValue "WIN.INI", "MCI Extensions", "jpg", "QTWVideo", cmoOverwrite
''i% = WritePrivateProfileString("MCI", "QTWVideo", MakePath(WinSysDir$, "mciqtw.drv"), "SYSTEM.INI")
rem Compatibility hacks.
''i% = WritePrivateProfileString("Macx", "DeviceBitmap", "OFF", "SYSTEM.INI")
''CreateIniKeyValue "WIN.INI", "Mach", "devicebitmap", "off", cmoOverwrite
rem Update Registration Database
rem ----------------------------
''X RUN MakePath(DEST2$, "player.exe") + " install"
''X RUN MakePath(DEST2$, "viewer.exe") + " install"
rem Create QTW.INI
rem ----------------
''X ini$ = MakePath(DEST2$, "QTW.INI")
''X CreateIniKeyValue ini$, "QuickTime for Windows", "Implementation", "Full" , cmoOverwrite
''X RemoveIniKey ini$, "video", "optimize", cmoNone
''END IF
END SUB
''---------------------------------------------------------------------------------------
FUNCTION CheckDestDir STATIC AS INTEGER
IF 0=IsDirWritable(DESTDIR$) THEN
sz$ = UIStartDlg(sCUIDLL,dBADDESTDIR,"DPModal",0,"")
UIPop 1
CheckDestDir=0
ELSE
CheckDestDir=1
END IF
END FUNCTION
FUNCTION CheckSpace STATIC AS INTEGER
IF GetFreeSpaceForDrive(MID$(DESTDIR$,1,1))<SPACEREQ& THEN
sz$ = UIStartDlg(sCUIDLL,dTOOBIG,"DPModal",0,"")
UIPop 1
CheckSpace=0
ELSE
CheckSpace=1
END IF
END FUNCTION
''---------------------------------------------------------------------------------------
FUNCTION PlatformString() STATIC AS STRING
IF "Win16"=PLATFORM$ THEN
PlatformString = "Windows 3.1x"
''ELSEIF "Win32"=PLATFORM$ THEN
'' PlatformString = "Windows 95 or Windows NT"
ELSE
ERROR STFERR
END IF
END FUNCTION
''---------------------------------------------------------------------------------------
FUNCTION MethodString() STATIC AS STRING
IF "MIN"=METHOD$ THEN
MethodString = "Minimum: run everything from CD"
ELSEIF "STND"=METHOD$ THEN
MethodString = "Standard: copy program files"
ELSEIF "MAX"=METHOD$ THEN
MethodString = "Maximum: copy program+data files"
ELSE
ERROR STFERR
END IF
END FUNCTION
''---------------------------------------------------------------------------------------
ASKQUIT:
sz$ = UIStartDlg(sCUIDLL, dASKQUIT, "DPModal", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSE
UIPop 1
END IF
RETURN
''---------------------------------------------------------------------------------------
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
''---------------------------------------------------------------------------------------
FUNCTION DriveInt(Drive$) STATIC AS INTEGER
DriveInt = ASC(UCASE$(MID$(Drive$,1,1)))+1-ASC("A")
END FUNCTION
''---------------------------------------------------------------------------------------
'' WinVer:
'' Returns:
'' Windows version (major*100+minor)
''
FUNCTION WinVer STATIC AS INTEGER
WinVer = GetWindowsMajorVersion()*100+GetWindowsMinorVersion()
END FUNCTION
''---------------------------------------------------------------------------------------
'' Conditionally installs the file, based on version checking
''
SUB UpdateCopyList STATIC
sz$ = UIStartDlg(sCUIDLL,dSEARCHING,"DPMute",0,"")
ClearCopyList
AddSectionFilesToCopyList "REQUIRED", SrcDir$, DESTDIR$
IF METHOD$="MAX" THEN
AddSectionFilesToCopyList "DAT", SrcDir$, DESTDIR$
END IF
IF METHOD$<>"MIN" THEN
KeyInstall PLATFORM$,"MOVIE"
KeyInstall PLATFORM$,"CDB51"
KeyInstall PLATFORM$,"VDBLIST"
END IF
''version compare
''IF PLATFORM$="Win32" THEN
''IF 1=IsWin32() THEN '' Windows NT
''AddSectionKeyFileToCopyList "CTL3D32","WinNT",SrcDir$,MakePath(GetWindowsDir(),"SYSTEM32")
''ELSE
''AddSectionKeyFileToCopyList "CTL3D32","Win95",SrcDir$,GetWindowsSysDir()
''END IF
''VerKeyInstall PLATFORM$,"MSVCRT20"
''VerKeyInstall PLATFORM$,"MFC30"
''END IF
IF METHOD$<>"MIN" THEN
IF PLATFORM$="Win16" THEN
''KeyInstall PLATFORM$,"PLAYER"
''KeyInstall PLATFORM$,"IMPJPEG"
''KeyInstall PLATFORM$,"IXLEAD"
''ELSE ''files for "Win16"
KeyInstall PLATFORM$,"IMPJPEG"
KeyInstall PLATFORM$,"IXLEAD"
END IF
END IF
FOR i%=1 TO 26 STEP 1
ReplaceListItem sEXTRACOSTS,i,"0"
NEXT i%
ReplaceListItem sEXTRACOSTS,DriveInt(DESTDIR$),"16834"
''IF InstallQTW% THEN
''AddSectionFilesToCopyList "QTW", SRCDIR$, GetWindowsSysDir()
''ReplaceListItem sEXTRACOSTS,DriveInt(GetWindowsSysDir()),"16834"
''END IF
SPACEREQ& = GetCopyListCost(sEXTRACOSTS,sCOSTS,"")
''doesn't return the cost
SPACEREQ& = 0 ''this works
FOR i%=1 TO 26 STEP 1
SPACEREQ& = SPACEREQ& + VAL(GetListItem(sCOSTS,i%))
NEXT i%
IF SPACEREQ&<0 THEN
SPACEREQ& = 0
END IF
UIPop 1
END SUB
''---------------------------------------------------------------------------------------
'' Searches for an installed version of the file, compares version
'' returns destination dir (to be installed to), or an empty string
''
FUNCTION VerSearch(szFile$,szVersion$) STATIC AS STRING
Flags% = VerFind(szFile$)
IF -1=Flags% THEN
ERROR STFERR
END IF
FoundDir$ = GetSymbolValue("CURDIR")
ProposedDir$ = GetSymbolValue("DSTDIR")
IF FoundDir$<>"" THEN ''already installed
IF 0>=WCompareVersion(szVersion$,GetVersionOfFile(MakePath(FoundDir$,szFile$))) THEN
VerSearch = "" ''newer or the same version
ELSE
VerSearch = FoundDir$
END IF
ELSE
VerSearch = ProposedDir$
END IF
END FUNCTION
''---------------------------------------------------------------------------------------
'' Conditionally installs the file, based on version checking
''
'SUB VerKeyInstall(szSection$,szKey$) STATIC
'DstDirectory$ = VerSearch(GetSectionKeyFilename(szSection$,szKey$),GetSectionKeyVersion(szSection$,szKey$))
'IF DstDirectory$<>"" THEN
'AddSectionKeyFileToCopyList szSection$,szKey$,SrcDir$,DstDirectory$
'END IF
'END SUB
''---------------------------------------------------------------------------------------
'' Install the file into the DESTDIR$
''
SUB KeyInstall(szSection$,szKey$) STATIC
AddSectionKeyFileToCopyList szSection$,szKey$,SrcDir$,DESTDIR$
END SUB
''---------------------------------------------------------------------------------------
'' Corel All-Movie Guide 2 Setup Script - end
''---------------------------------------------------------------------------------------